package com.shop.cloud.domain.hongfu;

import java.sql.Timestamp;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.shop.cloud.common.mybatis.BaseEntity;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 
 * goods_order-
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class GoodsOrder extends BaseEntity{

	private static final long serialVersionUID = 1L;
    
	/**
	 * 店铺id
	 */
	@ApiModelProperty(value = "店铺id")
	 private Long shopId;
	/**
	 * 商城专区 1：鸿福商城 2：积分商城 3：旅游专区
	 */
	@ApiModelProperty(value = "商城专区 1：鸿福商城 2：积分商城 3：旅游专区")
	 private Integer goodsMall;
	/**
	 * 用户id号
	 */
	@ApiModelProperty(value = "用户id号")
	 private Long userId;
	/**
	 * 订单编号
	 */
	@ApiModelProperty(value = "订单编号")
	 private String orderNo;
	/**
	 * 下单时间
	 */
	@ApiModelProperty(value = "下单时间")
	 private Timestamp createTime;
	/**
	 * 应付金额
	 */
	@ApiModelProperty(value = "应付金额")
	 private Float amount;
	/**
	 * 应付积分
	 */
	@ApiModelProperty(value = "应付积分")
	 private Integer points;
	/**
	 * 提货方式  1：到店自提 2：快递配送 3：门店配送
	 */
	@ApiModelProperty(value = "提货方式  1：到店自提 2：快递配送 3：门店配送")
	 private Integer takeGoodsType;
	/**
	 * 门店自提的门店ID
	 */
	@ApiModelProperty(value = "门店自提的门店ID")
	 private Long takeShopId;
	/**
	 * 订单备注
	 */
	@ApiModelProperty(value = "订单备注")
	 private String memo;
	/**
	 * 订单取消原因
	 */
	@ApiModelProperty(value = "订单取消原因")
	 private String returnMsg;
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
	 private Long userAddr;
	/**
	 * 订单状态 1: 待发货 2: 待收货 3: 已结束 4:已取消
	 */
	@ApiModelProperty(value = "订单状态 1: 待发货 2: 待收货 3: 已结束 4:已取消")
	 private Integer status;
	
	/**
	 * 下单时间
	 */
	@ApiModelProperty(value = "下单时间")
	 private Timestamp deliveryTime;
	
	
	/**
	 * 订单用户信息
	 */
	private User orderUser;
	
	/**
	 * 订单商铺信息
	 */
	private Shop orderShop;
	
	/**
	 * 订单中用户所对应的收货地址
	 */
	private OrderAddressHistory userAddress;
	
	/**
	 * 解析后商品信息列表
	 */
	private List<InsGoods> insGoods;
	
	/**
	 * 订单中商品列表信息
	 */
	private List<OrderProductDetail> productDetails;
	
	/**
	 * 门店自取时门店信息
	 */
	private Shop getShopMsg;
	
	/**
	 * 保存app端传回的商品信息
	 */
	private String jsonAppMsg;
	
	private Long[] shops;
	
	/**
	 * 店铺图片
	 */
	private String shopImages;
	
	private int[] statusIns;
	
	/**
	 * 前端商品名称筛选关键词
	 */
	private String nameKeywords;
	
	private String showProductNames;
	
	private String prouctsName;
    
    public GoodsOrder(){
    
    }
    
    public Long getShopId() {
        return this.shopId;
    }
    
    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

	public Integer getGoodsMall() {
        return this.goodsMall;
    }
    
    public void setGoodsMall(Integer goodsMall) {
        this.goodsMall = goodsMall;
    }
    public Long getUserId() {
        return this.userId;
    }
    
    public void setUserId(Long userId) {
        this.userId = userId;
    }
    public String getOrderNo() {
        return this.orderNo;
    }
    
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }
    public Timestamp getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Timestamp createTime) {
		this.createTime = createTime;
	}

	public Float getAmount() {
        return this.amount;
    }
    
    public void setAmount(Float amount) {
        this.amount = amount;
    }
    public Integer getPoints() {
		return points;
	}

	public void setPoints(Integer points) {
		this.points = points;
	}

	public Integer getTakeGoodsType() {
        return this.takeGoodsType;
    }
    
    public void setTakeGoodsType(Integer takeGoodsType) {
        this.takeGoodsType = takeGoodsType;
    }
    public Long getTakeShopId() {
		return takeShopId;
	}

	public void setTakeShopId(Long takeShopId) {
		this.takeShopId = takeShopId;
	}

	public String getMemo() {
        return this.memo;
    }
    
    public void setMemo(String memo) {
        this.memo = memo;
    }
    public String getReturnMsg() {
		return returnMsg;
	}

	public void setReturnMsg(String returnMsg) {
		this.returnMsg = returnMsg;
	}

	public Long getUserAddr() {
        return this.userAddr;
    }
    
    public void setUserAddr(Long userAddr) {
        this.userAddr = userAddr;
    }
    public Integer getStatus() {
        return this.status;
    }
    
    public void setStatus(Integer status) {
        this.status = status;
    }

	public User getOrderUser() {
		return orderUser;
	}

	public void setOrderUser(User orderUser) {
		this.orderUser = orderUser;
	}

	public Shop getOrderShop() {
		return orderShop;
	}

	public void setOrderShop(Shop orderShop) {
		this.orderShop = orderShop;
	}

	public OrderAddressHistory getUserAddress() {
		return userAddress;
	}

	public void setUserAddress(OrderAddressHistory userAddress) {
		this.userAddress = userAddress;
	}

	public List<InsGoods> getInsGoods() {
		return insGoods;
	}

	public void setInsGoods(List<InsGoods> insGoods) {
		this.insGoods = insGoods;
	}

	public List<OrderProductDetail> getProductDetails() {
		return productDetails;
	}

	public void setProductDetails(List<OrderProductDetail> productDetails) {
		this.productDetails = productDetails;
	}

	public String getJsonAppMsg() {
		return jsonAppMsg;
	}

	public void setJsonAppMsg(String jsonAppMsg) {
		this.jsonAppMsg = jsonAppMsg;
	}

	public Shop getGetShopMsg() {
		return getShopMsg;
	}

	public void setGetShopMsg(Shop getShopMsg) {
		this.getShopMsg = getShopMsg;
	}

	public Long[] getShops() {
		return shops;
	}

	public void setShops(Long[] shops) {
		this.shops = shops;
	}

	public String getShopImages() {
		return shopImages;
	}

	public void setShopImages(String shopImages) {
		this.shopImages = shopImages;
	}

	public int[] getStatusIns() {
		return statusIns;
	}

	public void setStatusIns(int[] statusIns) {
		this.statusIns = statusIns;
	}

	public String getNameKeywords() {
		return nameKeywords;
	}

	public void setNameKeywords(String nameKeywords) {
		this.nameKeywords = nameKeywords;
	}

	public String getShowProductNames() {
		return showProductNames;
	}

	public void setShowProductNames(String showProductNames) {
		this.showProductNames = showProductNames;
	}

	public Timestamp getDeliveryTime() {
		return deliveryTime;
	}

	public void setDeliveryTime(Timestamp deliveryTime) {
		this.deliveryTime = deliveryTime;
	}

	public String getProuctsName() {
		return prouctsName;
	}

	public void setProuctsName(String prouctsName) {
		this.prouctsName = prouctsName;
	}
	

}